package com.sdp.th.view;

import java.math.BigDecimal;
import java.time.LocalDateTime;

import org.springframework.format.annotation.DateTimeFormat;

import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sdp.core.bizc.annotation.ViewColumn;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class ThEqStateView extends Model<ThEqStateView>{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	/**
     * 内码
     */
	@ViewColumn("a.key_id")
    private String keyId;

    /**
     * 编码
     */
	@ViewColumn("a.device_no")
    private String deviceNo;

    /**
     * 温度
     */
	@ViewColumn("a.device_temperature")
    private BigDecimal deviceTemperature;

    /**
     * 湿度
     */
	@ViewColumn("a.device_humidity")
    private BigDecimal deviceHumidity;
    
    /**
     * 原始报文
     */
	@ViewColumn("a.original_message")
    private String originalMessage;
    
    /**
     * 上报时间
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ViewColumn("a.report_time")
    private LocalDateTime reportTime;
    
    /**
     * 在线状态
     */
    @ViewColumn("a.line_state")
    private String lineState;
    
    /**
     * 报警状态
     */
    @ViewColumn("a.alarm_state")
    private String alarmState;
    
    /**
     * 电量
     */
    @ViewColumn("a.device_power")
    private BigDecimal devicePower;
    
    
    /**
     * 信号
     */
    @ViewColumn("a.device_signal")
    private BigDecimal deviceSignal;
    
    
    /**
     * 名称
     */
    @ViewColumn("b.device_name")
    private String deviceName;

    /**
     * 设备类型
     */
    @ViewColumn("b.device_type")
    private String deviceType;
    
    /**
     * 区域
     */
    @ViewColumn("b.device_region")
    private String deviceRegion;

    /**
     * 房间
     */
    @ViewColumn("b.device_room")
    private String deviceRoom;
    
    /**
     * 设备状态
     */
    @ViewColumn("b.device_state")
    private String deviceState;
}
